package com.sgb.kjwl.di.manage;

import com.sgb.kjwl.repository.ManageRepertory;
import com.sgb.kjwl.repository.impl.ManageRepertoryImpl;
import com.sgb.kjwl.view.ui.activity.manage.AgentStaffCheckDepartmentActivity;
import com.sgb.kjwl.view.ui.activity.manage.CompanyTradesActivity;
import com.sgb.kjwl.view.ui.activity.manage.CompanyTradesDetailActivity;
import com.sgb.kjwl.view.ui.activity.manage.EpAssestActivity;
import com.sgb.kjwl.view.ui.activity.manage.IPActivity;
import com.sgb.kjwl.view.ui.activity.manage.IPDetailActivity;
import com.sgb.kjwl.view.ui.activity.manage.UploadPicAndVideoActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebSitePostInquiryActivity;
import com.sgb.kjwl.view.ui.activity.manage.ShopInfoForCompanyTradesActivity;
import com.sgb.kjwl.view.ui.activity.manage.SpecialQualificationActivity;
import com.sgb.kjwl.view.ui.activity.manage.TheEnterpriseOfActivity;
import com.sgb.kjwl.view.ui.activity.manage.TradeHonorActivity;
import com.sgb.kjwl.view.ui.activity.manage.TradeHonorSearchActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebSiteEditGroupActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebSiteGroupActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebSiteInquiryActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteInfoActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteMyXiXinActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteQiYeXiXinActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteReleaseActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteUpDataJYDTActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteUpDataJingYingYeJiActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteUpDataMyXiXinActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteUpDataQiYeXiXinActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteUpDataRongYuRongYaoActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteUpDataZhiShiChanQuanActivity;
import com.sgb.kjwl.view.ui.activity.manage.WebsiteUpDataZhuanXiangZiZhiActivity;
import com.sgb.kjwl.viewmodel.manage.AgentCheckModel;
import com.sgb.kjwl.viewmodel.manage.AgentStaffCheckDepartmentModel;
import com.sgb.kjwl.viewmodel.manage.CompanyTradesDetailModel;
import com.sgb.kjwl.viewmodel.manage.CompanyTradesModel;
import com.sgb.kjwl.viewmodel.manage.EpAssestModel;
import com.sgb.kjwl.viewmodel.manage.IPDetailModel;
import com.sgb.kjwl.viewmodel.manage.IPModel;
import com.sgb.kjwl.viewmodel.manage.IntellectualPropertyModel;
import com.sgb.kjwl.viewmodel.manage.IntroductionForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.ShopInfoForCompanyTradesModel;
import com.sgb.kjwl.viewmodel.manage.SpecialQualificationModel1;
import com.sgb.kjwl.viewmodel.manage.TheEnterpriseOfModel;
import com.sgb.kjwl.viewmodel.manage.TradeHonorModel;
import com.sgb.kjwl.viewmodel.manage.TradeHonorSearchModel;
import com.sgb.kjwl.viewmodel.manage.UploadPicViedeoModel;
import com.sgb.kjwl.viewmodel.manage.WebSiteEditGroupModel;
import com.sgb.kjwl.viewmodel.manage.WebSiteGroupModel;
import com.sgb.kjwl.viewmodel.manage.WebSiteInquiryModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteAddressModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteInfoModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteMyXiXinModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteReleaseModule;
import com.sgb.kjwl.viewmodel.manage.WebsiteUpDataJYDTModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteUpDataQiYeXiXinModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteUpDataRongYuRongYaoModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteUpDataZhuanXiangZiZhiModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteUpDataJingYingYeJiModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteUpDateOrganizationModel;
import com.sgb.kjwl.viewmodel.manage.WebsiteUpdataMyXiXinModel;
import com.sgb.kjwl.viewmodel.self.ApprovalManagerViewModel;
import com.swgk.core.base.di.Activity;
import com.swgk.core.base.api.BaseApiSource;
import com.swgk.core.base.model.preference.BasePreferenceSource;

import dagger.Module;
import dagger.Provides;

@Module
public class EnterpriseManageModule {
    //企业大全
    private TheEnterpriseOfActivity theEnterpriseOfActivity;
    private CompanyTradesDetailActivity companyTradesDetailActivity;
    private CompanyTradesActivity companyTradesActivity;
    //企业资产
    private EpAssestActivity epAssestActivity;
    //行业荣誉
    private TradeHonorActivity tradeHonorActivity;
    //行业荣誉搜索
    private TradeHonorSearchActivity tradeHonorSearchActivity;
    //专项资质
    private SpecialQualificationActivity specialQualificationActivity;
    //知识产权
    private IPActivity ipActivity;
    //产权详情
    private IPDetailActivity ipDetailActivity;

    private ShopInfoForCompanyTradesActivity shopInfoForCompanyTradesActivity;
    //企业网站
    private WebsiteInfoActivity websiteInfoActivity;
    //企业网站发布
    private WebsiteReleaseActivity websiteReleaseActivity;
    //企业网站发布----信息简介
    private WebsiteQiYeXiXinActivity websiteQiYeXiXinActivity;
    //个人网站发布----信息简介
    private WebsiteMyXiXinActivity websiteMyXiXinActivity;
    //个人网站发布----信息简介编辑
    private WebsiteUpDataMyXiXinActivity websiteUpDataMyXiXinActivity;
    //企业网站发布----信息简介---编辑
    private WebsiteUpDataQiYeXiXinActivity websiteUpDataQiYeXiXinActivity;
    //企业网站发布----知识产权---编辑
    private WebsiteUpDataZhiShiChanQuanActivity websiteUpDataZhiShiChanQuanActivity;
    //企业网站发布----荣誉荣耀---编辑
    private WebsiteUpDataRongYuRongYaoActivity websiteUpDataRongYuRongYaoActivity;
    //企业网站发布----经营动态---编辑
    private WebsiteUpDataJYDTActivity websiteUpDataJYDTActivity;
    //企业网站发布----专项资质---编辑
    private WebsiteUpDataZhuanXiangZiZhiActivity websiteUpDataZhuanXiangZiZhiActivity;
    //企业网站发布----经营业绩---编辑
    private WebsiteUpDataJingYingYeJiActivity websiteUpDataJingYingYeJiActivity;
    //团队网站发布-----信息简介
    private WebSiteGroupActivity webSiteGroupActivity;

    //团队网站发布-----信息简介编辑
    private WebSiteEditGroupActivity webSiteEditGroupActivity;

    //网站函询
    private WebSiteInquiryActivity webSiteInquiryActivity;

    //发起函询
    private WebSitePostInquiryActivity postInquiryActivity;

    //员工审核--部门组织架构选择
    private AgentStaffCheckDepartmentActivity agentStaffCheckDepartmentActivity;

    private UploadPicAndVideoActivity uploadPicAndVideoActivity;


    public EnterpriseManageModule() {

    }


    public EnterpriseManageModule(WebsiteUpDataJingYingYeJiActivity websiteUpDataJingYingYeJiActivity) {
        this.websiteUpDataJingYingYeJiActivity = websiteUpDataJingYingYeJiActivity;
    }

    public EnterpriseManageModule(WebsiteInfoActivity websiteInfoActivity) {
        this.websiteInfoActivity = websiteInfoActivity;
    }

    public EnterpriseManageModule(ShopInfoForCompanyTradesActivity shopInfoForCompanyTradesActivity) {
        this.shopInfoForCompanyTradesActivity = shopInfoForCompanyTradesActivity;
    }

    public EnterpriseManageModule(CompanyTradesActivity companyTradesActivity) {
        this.companyTradesActivity = companyTradesActivity;
    }

    public EnterpriseManageModule(CompanyTradesDetailActivity companyTradesDetailModel) {
        this.companyTradesDetailActivity = companyTradesDetailModel;
    }


    public EnterpriseManageModule(TheEnterpriseOfActivity theEnterpriseOfActivity) {
        this.theEnterpriseOfActivity = theEnterpriseOfActivity;
    }

    public EnterpriseManageModule(EpAssestActivity epAssestActivity) {
        this.epAssestActivity = epAssestActivity;
    }

    public EnterpriseManageModule(TradeHonorActivity tradeHonorActivity) {
        this.tradeHonorActivity = tradeHonorActivity;
    }

    public EnterpriseManageModule(TradeHonorSearchActivity tradeHonorSearchActivity) {
        this.tradeHonorSearchActivity = tradeHonorSearchActivity;
    }

    public EnterpriseManageModule(SpecialQualificationActivity specialQualificationActivity) {
        this.specialQualificationActivity = specialQualificationActivity;
    }

    public EnterpriseManageModule(IPActivity ipActivity) {
        this.ipActivity = ipActivity;
    }

    public EnterpriseManageModule(IPDetailActivity ipDetailActivity) {
        this.ipDetailActivity = ipDetailActivity;
    }

    public EnterpriseManageModule(WebsiteReleaseActivity websiteReleaseActivity) {
        this.websiteReleaseActivity = websiteReleaseActivity;
    }

    public EnterpriseManageModule(UploadPicAndVideoActivity activity) {
        this.uploadPicAndVideoActivity = activity;
    }

    public EnterpriseManageModule(WebsiteQiYeXiXinActivity websiteQiYeXiXinActivity) {
        this.websiteQiYeXiXinActivity = websiteQiYeXiXinActivity;
    }

    public EnterpriseManageModule(WebsiteMyXiXinActivity websiteMyXiXinActivity) {
        this.websiteMyXiXinActivity = websiteMyXiXinActivity;
    }

    public EnterpriseManageModule(WebsiteUpDataQiYeXiXinActivity websiteUpDataQiYeXiXinActivity) {
        this.websiteUpDataQiYeXiXinActivity = websiteUpDataQiYeXiXinActivity;
    }

    public EnterpriseManageModule(WebsiteUpDataZhiShiChanQuanActivity websiteUpDataZhiShiChanQuanActivity) {
        this.websiteUpDataZhiShiChanQuanActivity = websiteUpDataZhiShiChanQuanActivity;
    }

    public EnterpriseManageModule(WebsiteUpDataRongYuRongYaoActivity websiteUpDataRongYuRongYaoActivity) {
        this.websiteUpDataRongYuRongYaoActivity = websiteUpDataRongYuRongYaoActivity;
    }

    public EnterpriseManageModule(WebsiteUpDataJYDTActivity websiteUpDataJYDTActivity) {
        this.websiteUpDataJYDTActivity = websiteUpDataJYDTActivity;
    }

    public EnterpriseManageModule(WebsiteUpDataZhuanXiangZiZhiActivity websiteUpDataZhuanXiangZiZhiActivity) {
        this.websiteUpDataZhuanXiangZiZhiActivity = websiteUpDataZhuanXiangZiZhiActivity;
    }

    public EnterpriseManageModule(WebsiteUpDataMyXiXinActivity websiteUpDataMyXiXinActivity) {
        this.websiteUpDataMyXiXinActivity = websiteUpDataMyXiXinActivity;
    }

    public EnterpriseManageModule(WebSiteGroupActivity activity) {
        this.webSiteGroupActivity = activity;
    }

    public EnterpriseManageModule(WebSiteEditGroupActivity activity){
        this.webSiteEditGroupActivity = activity;
    }

    public EnterpriseManageModule(WebSiteInquiryActivity activity){
        this.webSiteInquiryActivity = activity;
    }

    public EnterpriseManageModule(WebSitePostInquiryActivity activity){
        this.postInquiryActivity = activity;
    }

    @Provides
    @Activity
    ManageRepertory provideManageRepertory(BaseApiSource apiSource, BasePreferenceSource preferenceSource) {
        return new ManageRepertoryImpl(apiSource, preferenceSource) {
        };
    }

    @Provides
    @Activity
    TheEnterpriseOfModel theEnterpriseOfModel(ManageRepertory repertory) {
        return new TheEnterpriseOfModel(theEnterpriseOfActivity, repertory);
    }

    @Provides
    @Activity
    CompanyTradesModel provideCompanyTradesRepertory(ManageRepertory repertory) {
        return new CompanyTradesModel(companyTradesActivity, repertory);
    }

    @Provides
    @Activity
    CompanyTradesDetailModel providerCompanyTradesDetail() {
        return new CompanyTradesDetailModel(companyTradesDetailActivity);
    }


    @Provides
    @Activity
    EpAssestModel epAssestModel(ManageRepertory repertory) {
        return new EpAssestModel(epAssestActivity, repertory);
    }

    @Provides
    @Activity
    TradeHonorModel tradeHonorModel(ManageRepertory repertory) {
        return new TradeHonorModel(tradeHonorActivity, repertory);
    }

    @Provides
    @Activity
    TradeHonorSearchModel tradeHonorSearchModel(ManageRepertory repertory) {
        return new TradeHonorSearchModel(tradeHonorSearchActivity, repertory);
    }

    @Provides
    @Activity
    SpecialQualificationModel1 specialQualificationModel(ManageRepertory repertory) {
        return new SpecialQualificationModel1(specialQualificationActivity, repertory);
    }

    @Provides
    @Activity
    IPModel ipModel(ManageRepertory repertory) {
        return new IPModel(ipActivity, repertory);
    }

    @Provides
    @Activity
    IPDetailModel ipDetailModel(ManageRepertory repertory) {
        return new IPDetailModel(ipDetailActivity, repertory);
    }

    @Provides
    @Activity
    ShopInfoForCompanyTradesModel shopInfoForCompanyTradesModel(ManageRepertory repertory) {
        return new ShopInfoForCompanyTradesModel(shopInfoForCompanyTradesActivity, repertory);
    }

    @Provides
    @Activity
    WebsiteInfoModel shopInfoForCompanyModel(ManageRepertory repertory) {
        return new WebsiteInfoModel(websiteInfoActivity, repertory);
    }

    @Provides
    @Activity
    WebsiteReleaseModule websiteReleaseModule(ManageRepertory repertory) {
        return new WebsiteReleaseModule(websiteReleaseActivity, repertory);
    }


    @Provides
    @Activity
    IntroductionForWebsiteModel websiteQiYeXiXinModule(ManageRepertory repertory) {
        return new IntroductionForWebsiteModel(repertory);
    }

    @Provides
    @Activity
    IntellectualPropertyModel intellectualPropertyModel() {
        return new IntellectualPropertyModel();
    }

    @Provides
    @Activity
    WebsiteUpDataRongYuRongYaoModel websiteUpDataRongYuRongYaoModel() {
        return new WebsiteUpDataRongYuRongYaoModel();
    }

    @Provides
    @Activity
    WebsiteUpDataJYDTModel websiteUpDataJYDTModel() {
        return new WebsiteUpDataJYDTModel();
    }

    @Provides
    @Activity
    WebsiteUpDataZhuanXiangZiZhiModel websiteUpDataZhuanXiangZiZhiModel() {
        return new WebsiteUpDataZhuanXiangZiZhiModel();
    }

    @Provides
    @Activity
    WebsiteUpDataJingYingYeJiModel websiteUpDataJingYingYeJiModel(ManageRepertory repertory) {
        return new WebsiteUpDataJingYingYeJiModel(websiteUpDataJingYingYeJiActivity, repertory);
    }

    @Provides
    @Activity
    WebsiteUpDataQiYeXiXinModel websiteUpDataQiYeXiXinModel(ManageRepertory repertory) {
        return new WebsiteUpDataQiYeXiXinModel(websiteUpDataQiYeXiXinActivity, repertory);
    }

    @Provides
    @Activity
    WebsiteMyXiXinModel websiteMyXiXinModel(ManageRepertory repertory) {
        return new WebsiteMyXiXinModel(websiteMyXiXinActivity, repertory);
    }

    @Provides
    @Activity
    WebsiteUpdataMyXiXinModel websiteUpdataMyXiXinModel(ManageRepertory repertory) {
        return new WebsiteUpdataMyXiXinModel(repertory);
    }

    @Provides
    @Activity
    WebSiteGroupModel webSiteGroupModel(){
        return new WebSiteGroupModel(webSiteGroupActivity);
    }

    @Provides
    @Activity
    WebSiteEditGroupModel webSiteEditGroupModel(){
        return new WebSiteEditGroupModel(webSiteEditGroupActivity);
    }

    @Provides
    @Activity
    WebSiteInquiryModel webSiteInquiryModel(){
        return new WebSiteInquiryModel();
    }

    @Provides
    @Activity
    WebsiteAddressModel websiteAddressModel(){
        return new WebsiteAddressModel();
    }

    @Provides
    @Activity
    AgentCheckModel agentCheckModel(){
        return new AgentCheckModel();
    }

    @Provides
    @Activity
    AgentStaffCheckDepartmentModel agentStaffCheckDepartmentModel(){
        return new AgentStaffCheckDepartmentModel();
    }

    @Provides
    @Activity
    UploadPicViedeoModel uploadPicViedeoModel(){
        return new UploadPicViedeoModel(uploadPicAndVideoActivity);
    }

    @Provides
    @Activity
    ApprovalManagerViewModel approvalManagerViewModel(){
        return new ApprovalManagerViewModel();
    }

    @Provides
    @Activity
    WebsiteUpDateOrganizationModel websiteUpDateOrganizationModel(){
        return new WebsiteUpDateOrganizationModel();
    }

}
